package com.xhsj.user.cram.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xhsj.user.cram.dto.BaseParamDto;
import com.xhsj.user.cram.entity.TbComputerRoomAccessApply;
import com.xhsj.user.cram.vo.FindComputerRoomAccessDetailedVo;
import com.xhsj.user.cram.vo.FindComputerRoomAccessHiTaskVo;
import com.xhsj.user.cram.vo.FindComputerRoomAccessRunTaskVo;
import com.xhsj.user.generalprocess.vo.GeneralAuditVo;
import com.xhsj.user.hr.base.BaseParam;
import com.xhsj.user.pms.patent.vo.FindRunTaskVo;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
/**
 * <p>
 * 机房出入申请 Mapper 接口
 * </p>
 *
 * @author liuqinghua
 * @since 2021-04-19
 */
@Mapper
public interface TbComputerRoomAccessApplyMapper extends BaseMapper<TbComputerRoomAccessApply> {

    /**
     * @Description: 根据业务id获取数据
     * @Param:  dataIds 业务id
     * @Author: liuqinghua
     * @Date: 2021/4/19
     */
    List<FindComputerRoomAccessRunTaskVo> findComputerRoomAccessRunTaskByDataIds(@Param(value = "dataIds") List<Long> dataIds);
    /**
     * @Description: 网络信息安全工程师待审核列表
     * @Param:  dataIds 业务id
     * @Author: liuqinghua
     * @Date: 2021/4/19
     */
    IPage<FindComputerRoomAccessRunTaskVo> findComputerRoomAccessRunTask(Page<FindComputerRoomAccessRunTaskVo> page,
                                                                         @Param(value = "entity") GeneralAuditVo entity,
                                                                         @Param(value = "data") BaseParamDto data);

    /**
     * @Description: 我的申请数据
     * @Param:  com.xhsj.user.hr.base.data
     * @Author: liuqinghua
     * @Date: 2021/4/20
     */
    IPage<FindComputerRoomAccessRunTaskVo> findMyComputerRoomAccessApply(Page page,@Param(value = "data") BaseParamDto data);

    /**
     * @Description: 审批页面展示数据
     * @Param:  com.xhsj.user.hr.base.data
     * @Author: liuqinghua
     * @Date: 2021/4/20
     */
    FindComputerRoomAccessDetailedVo findComputerRoomAccessDetailed(@Param(value = "dataId")Long dataId);

    List<FindComputerRoomAccessHiTaskVo> findHiTaskByDataIds(@Param(value = "dataIds") List<Long> dataIds);

    /**
     * @Description:  出入记录列表
     * @Param:BaseParam
     * @Author: liuqinghua
     * @Date: 2021/4/21
     */
    IPage<FindComputerRoomAccessRunTaskVo> findEntryOutRecordList(Page<FindComputerRoomAccessRunTaskVo> page, @Param(value = "data")BaseParamDto data);
}
